// $ANTLR 3.4 C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g 2012-10-24 19:32:02

    package practica6;


import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings({"all", "warnings", "unchecked"})
public class AnalexXML extends Lexer {
    public static final int EOF=-1;
    public static final int ABRIR_ET=4;
    public static final int AUTOR=5;
    public static final int BIBLIOTECA=6;
    public static final int BLANCO=7;
    public static final int CADENA=8;
    public static final int CERRAR_ET=9;
    public static final int COMENTARIO=10;
    public static final int COMILLAS=11;
    public static final int DIGITO=12;
    public static final int EDITORIAL=13;
    public static final int FIN_ET=14;
    public static final int IGUAL=15;
    public static final int LETRA=16;
    public static final int LIBRO=17;
    public static final int NUMERO=18;
    public static final int PALABRAS=19;
    public static final int PUNTO=20;
    public static final int SEPARADOR=21;
    public static final int TITULO=22;


         private ArrayList<RecognitionException> errors = new ArrayList<RecognitionException>();
         public ArrayList<RecognitionException> getErrors() {
            return errors;
         }
         @Override
         public void reportError (RecognitionException e) {
            String msg = getErrorMessage(e, getTokenNames());
            System.err.println(msg);
            errors.add(e);
         }


    // delegates
    // delegators
    public Lexer[] getDelegates() {
        return new Lexer[] {};
    }

    public AnalexXML() {} 
    public AnalexXML(CharStream input) {
        this(input, new RecognizerSharedState());
    }
    public AnalexXML(CharStream input, RecognizerSharedState state) {
        super(input,state);
    }
    public String getGrammarFileName() { return "C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g"; }

    // $ANTLR start "BLANCO"
    public final void mBLANCO() throws RecognitionException {
        try {
            int _type = BLANCO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:25:8: ( ( ' ' | '\\t' | '\\r\\n' ) )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:25:10: ( ' ' | '\\t' | '\\r\\n' )
            {
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:25:10: ( ' ' | '\\t' | '\\r\\n' )
            int alt1=3;
            switch ( input.LA(1) ) {
            case ' ':
                {
                alt1=1;
                }
                break;
            case '\t':
                {
                alt1=2;
                }
                break;
            case '\r':
                {
                alt1=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 1, 0, input);

                throw nvae;

            }

            switch (alt1) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:25:11: ' '
                    {
                    match(' '); 

                    }
                    break;
                case 2 :
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:25:15: '\\t'
                    {
                    match('\t'); 

                    }
                    break;
                case 3 :
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:25:20: '\\r\\n'
                    {
                    match("\r\n"); 



                    }
                    break;

            }


            skip();

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "BLANCO"

    // $ANTLR start "DIGITO"
    public final void mDIGITO() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:26:17: ( '0' .. '9' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:
            {
            if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "DIGITO"

    // $ANTLR start "LETRA"
    public final void mLETRA() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:27:15: ( ( 'a' .. 'z' ) | ( 'A' .. 'Z' ) | '_' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:
            {
            if ( (input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "LETRA"

    // $ANTLR start "ABRIR_ET"
    public final void mABRIR_ET() throws RecognitionException {
        try {
            int _type = ABRIR_ET;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:29:9: ( '<' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:29:11: '<'
            {
            match('<'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "ABRIR_ET"

    // $ANTLR start "CERRAR_ET"
    public final void mCERRAR_ET() throws RecognitionException {
        try {
            int _type = CERRAR_ET;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:30:10: ( '>' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:30:12: '>'
            {
            match('>'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "CERRAR_ET"

    // $ANTLR start "FIN_ET"
    public final void mFIN_ET() throws RecognitionException {
        try {
            int _type = FIN_ET;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:31:7: ( '</' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:31:9: '</'
            {
            match("</"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "FIN_ET"

    // $ANTLR start "BIBLIOTECA"
    public final void mBIBLIOTECA() throws RecognitionException {
        try {
            int _type = BIBLIOTECA;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:32:11: ( 'biblioteca' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:32:13: 'biblioteca'
            {
            match("biblioteca"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "BIBLIOTECA"

    // $ANTLR start "LIBRO"
    public final void mLIBRO() throws RecognitionException {
        try {
            int _type = LIBRO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:33:6: ( 'libro' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:33:8: 'libro'
            {
            match("libro"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "LIBRO"

    // $ANTLR start "TITULO"
    public final void mTITULO() throws RecognitionException {
        try {
            int _type = TITULO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:34:7: ( 'titulo' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:34:9: 'titulo'
            {
            match("titulo"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "TITULO"

    // $ANTLR start "AUTOR"
    public final void mAUTOR() throws RecognitionException {
        try {
            int _type = AUTOR;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:35:6: ( 'autor' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:35:8: 'autor'
            {
            match("autor"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "AUTOR"

    // $ANTLR start "EDITORIAL"
    public final void mEDITORIAL() throws RecognitionException {
        try {
            int _type = EDITORIAL;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:36:10: ( 'editorial' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:36:12: 'editorial'
            {
            match("editorial"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "EDITORIAL"

    // $ANTLR start "NUMERO"
    public final void mNUMERO() throws RecognitionException {
        try {
            int _type = NUMERO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:38:7: ( ( DIGITO )+ ( '.' ( DIGITO )+ )? )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:38:9: ( DIGITO )+ ( '.' ( DIGITO )+ )?
            {
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:38:9: ( DIGITO )+
            int cnt2=0;
            loop2:
            do {
                int alt2=2;
                int LA2_0 = input.LA(1);

                if ( ((LA2_0 >= '0' && LA2_0 <= '9')) ) {
                    alt2=1;
                }


                switch (alt2) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:
            	    {
            	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    if ( cnt2 >= 1 ) break loop2;
                        EarlyExitException eee =
                            new EarlyExitException(2, input);
                        throw eee;
                }
                cnt2++;
            } while (true);


            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:38:18: ( '.' ( DIGITO )+ )?
            int alt4=2;
            int LA4_0 = input.LA(1);

            if ( (LA4_0=='.') ) {
                alt4=1;
            }
            switch (alt4) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:38:19: '.' ( DIGITO )+
                    {
                    match('.'); 

                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:38:22: ( DIGITO )+
                    int cnt3=0;
                    loop3:
                    do {
                        int alt3=2;
                        int LA3_0 = input.LA(1);

                        if ( ((LA3_0 >= '0' && LA3_0 <= '9')) ) {
                            alt3=1;
                        }


                        switch (alt3) {
                    	case 1 :
                    	    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:
                    	    {
                    	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
                    	        input.consume();
                    	    }
                    	    else {
                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
                    	        recover(mse);
                    	        throw mse;
                    	    }


                    	    }
                    	    break;

                    	default :
                    	    if ( cnt3 >= 1 ) break loop3;
                                EarlyExitException eee =
                                    new EarlyExitException(3, input);
                                throw eee;
                        }
                        cnt3++;
                    } while (true);


                    }
                    break;

            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "NUMERO"

    // $ANTLR start "PALABRAS"
    public final void mPALABRAS() throws RecognitionException {
        try {
            int _type = PALABRAS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:39:9: ( LETRA ( LETRA | DIGITO )* )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:39:11: LETRA ( LETRA | DIGITO )*
            {
            mLETRA(); 


            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:39:16: ( LETRA | DIGITO )*
            loop5:
            do {
                int alt5=2;
                int LA5_0 = input.LA(1);

                if ( ((LA5_0 >= '0' && LA5_0 <= '9')||(LA5_0 >= 'A' && LA5_0 <= 'Z')||LA5_0=='_'||(LA5_0 >= 'a' && LA5_0 <= 'z')) ) {
                    alt5=1;
                }


                switch (alt5) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:
            	    {
            	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    break loop5;
                }
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PALABRAS"

    // $ANTLR start "SEPARADOR"
    public final void mSEPARADOR() throws RecognitionException {
        try {
            int _type = SEPARADOR;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:40:10: ( ';' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:40:12: ';'
            {
            match(';'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "SEPARADOR"

    // $ANTLR start "PUNTO"
    public final void mPUNTO() throws RecognitionException {
        try {
            int _type = PUNTO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:41:6: ( '.' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:41:8: '.'
            {
            match('.'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PUNTO"

    // $ANTLR start "COMILLAS"
    public final void mCOMILLAS() throws RecognitionException {
        try {
            int _type = COMILLAS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:43:9: ( '\"' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:43:11: '\"'
            {
            match('\"'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "COMILLAS"

    // $ANTLR start "IGUAL"
    public final void mIGUAL() throws RecognitionException {
        try {
            int _type = IGUAL;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:44:6: ( '=' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:44:8: '='
            {
            match('='); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "IGUAL"

    // $ANTLR start "COMENTARIO"
    public final void mCOMENTARIO() throws RecognitionException {
        try {
            int _type = COMENTARIO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:45:11: ( '<!--' ( options {greedy=false; } : . )* '-->' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:45:13: '<!--' ( options {greedy=false; } : . )* '-->'
            {
            match("<!--"); 



            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:45:20: ( options {greedy=false; } : . )*
            loop6:
            do {
                int alt6=2;
                int LA6_0 = input.LA(1);

                if ( (LA6_0=='-') ) {
                    int LA6_1 = input.LA(2);

                    if ( (LA6_1=='-') ) {
                        int LA6_3 = input.LA(3);

                        if ( (LA6_3=='>') ) {
                            alt6=2;
                        }
                        else if ( ((LA6_3 >= '\u0000' && LA6_3 <= '=')||(LA6_3 >= '?' && LA6_3 <= '\uFFFF')) ) {
                            alt6=1;
                        }


                    }
                    else if ( ((LA6_1 >= '\u0000' && LA6_1 <= ',')||(LA6_1 >= '.' && LA6_1 <= '\uFFFF')) ) {
                        alt6=1;
                    }


                }
                else if ( ((LA6_0 >= '\u0000' && LA6_0 <= ',')||(LA6_0 >= '.' && LA6_0 <= '\uFFFF')) ) {
                    alt6=1;
                }


                switch (alt6) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:45:45: .
            	    {
            	    matchAny(); 

            	    }
            	    break;

            	default :
            	    break loop6;
                }
            } while (true);


            match("-->"); 



            skip();

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "COMENTARIO"

    // $ANTLR start "CADENA"
    public final void mCADENA() throws RecognitionException {
        try {
            int _type = CADENA;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:46:7: ( COMILLAS ( options {greedy=false; } : . )* COMILLAS )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:46:9: COMILLAS ( options {greedy=false; } : . )* COMILLAS
            {
            mCOMILLAS(); 


            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:46:18: ( options {greedy=false; } : . )*
            loop7:
            do {
                int alt7=2;
                int LA7_0 = input.LA(1);

                if ( (LA7_0=='\"') ) {
                    alt7=2;
                }
                else if ( ((LA7_0 >= '\u0000' && LA7_0 <= '!')||(LA7_0 >= '#' && LA7_0 <= '\uFFFF')) ) {
                    alt7=1;
                }


                switch (alt7) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:46:43: .
            	    {
            	    matchAny(); 

            	    }
            	    break;

            	default :
            	    break loop7;
                }
            } while (true);


            mCOMILLAS(); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "CADENA"

    public void mTokens() throws RecognitionException {
        // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:1:8: ( BLANCO | ABRIR_ET | CERRAR_ET | FIN_ET | BIBLIOTECA | LIBRO | TITULO | AUTOR | EDITORIAL | NUMERO | PALABRAS | SEPARADOR | PUNTO | COMILLAS | IGUAL | COMENTARIO | CADENA )
        int alt8=17;
        switch ( input.LA(1) ) {
        case '\t':
        case '\r':
        case ' ':
            {
            alt8=1;
            }
            break;
        case '<':
            {
            switch ( input.LA(2) ) {
            case '/':
                {
                alt8=4;
                }
                break;
            case '!':
                {
                alt8=16;
                }
                break;
            default:
                alt8=2;
            }

            }
            break;
        case '>':
            {
            alt8=3;
            }
            break;
        case 'b':
            {
            int LA8_4 = input.LA(2);

            if ( (LA8_4=='i') ) {
                int LA8_18 = input.LA(3);

                if ( (LA8_18=='b') ) {
                    int LA8_25 = input.LA(4);

                    if ( (LA8_25=='l') ) {
                        int LA8_30 = input.LA(5);

                        if ( (LA8_30=='i') ) {
                            int LA8_35 = input.LA(6);

                            if ( (LA8_35=='o') ) {
                                int LA8_40 = input.LA(7);

                                if ( (LA8_40=='t') ) {
                                    int LA8_45 = input.LA(8);

                                    if ( (LA8_45=='e') ) {
                                        int LA8_48 = input.LA(9);

                                        if ( (LA8_48=='c') ) {
                                            int LA8_50 = input.LA(10);

                                            if ( (LA8_50=='a') ) {
                                                int LA8_52 = input.LA(11);

                                                if ( ((LA8_52 >= '0' && LA8_52 <= '9')||(LA8_52 >= 'A' && LA8_52 <= 'Z')||LA8_52=='_'||(LA8_52 >= 'a' && LA8_52 <= 'z')) ) {
                                                    alt8=11;
                                                }
                                                else {
                                                    alt8=5;
                                                }
                                            }
                                            else {
                                                alt8=11;
                                            }
                                        }
                                        else {
                                            alt8=11;
                                        }
                                    }
                                    else {
                                        alt8=11;
                                    }
                                }
                                else {
                                    alt8=11;
                                }
                            }
                            else {
                                alt8=11;
                            }
                        }
                        else {
                            alt8=11;
                        }
                    }
                    else {
                        alt8=11;
                    }
                }
                else {
                    alt8=11;
                }
            }
            else {
                alt8=11;
            }
            }
            break;
        case 'l':
            {
            int LA8_5 = input.LA(2);

            if ( (LA8_5=='i') ) {
                int LA8_19 = input.LA(3);

                if ( (LA8_19=='b') ) {
                    int LA8_26 = input.LA(4);

                    if ( (LA8_26=='r') ) {
                        int LA8_31 = input.LA(5);

                        if ( (LA8_31=='o') ) {
                            int LA8_36 = input.LA(6);

                            if ( ((LA8_36 >= '0' && LA8_36 <= '9')||(LA8_36 >= 'A' && LA8_36 <= 'Z')||LA8_36=='_'||(LA8_36 >= 'a' && LA8_36 <= 'z')) ) {
                                alt8=11;
                            }
                            else {
                                alt8=6;
                            }
                        }
                        else {
                            alt8=11;
                        }
                    }
                    else {
                        alt8=11;
                    }
                }
                else {
                    alt8=11;
                }
            }
            else {
                alt8=11;
            }
            }
            break;
        case 't':
            {
            int LA8_6 = input.LA(2);

            if ( (LA8_6=='i') ) {
                int LA8_20 = input.LA(3);

                if ( (LA8_20=='t') ) {
                    int LA8_27 = input.LA(4);

                    if ( (LA8_27=='u') ) {
                        int LA8_32 = input.LA(5);

                        if ( (LA8_32=='l') ) {
                            int LA8_37 = input.LA(6);

                            if ( (LA8_37=='o') ) {
                                int LA8_42 = input.LA(7);

                                if ( ((LA8_42 >= '0' && LA8_42 <= '9')||(LA8_42 >= 'A' && LA8_42 <= 'Z')||LA8_42=='_'||(LA8_42 >= 'a' && LA8_42 <= 'z')) ) {
                                    alt8=11;
                                }
                                else {
                                    alt8=7;
                                }
                            }
                            else {
                                alt8=11;
                            }
                        }
                        else {
                            alt8=11;
                        }
                    }
                    else {
                        alt8=11;
                    }
                }
                else {
                    alt8=11;
                }
            }
            else {
                alt8=11;
            }
            }
            break;
        case 'a':
            {
            int LA8_7 = input.LA(2);

            if ( (LA8_7=='u') ) {
                int LA8_21 = input.LA(3);

                if ( (LA8_21=='t') ) {
                    int LA8_28 = input.LA(4);

                    if ( (LA8_28=='o') ) {
                        int LA8_33 = input.LA(5);

                        if ( (LA8_33=='r') ) {
                            int LA8_38 = input.LA(6);

                            if ( ((LA8_38 >= '0' && LA8_38 <= '9')||(LA8_38 >= 'A' && LA8_38 <= 'Z')||LA8_38=='_'||(LA8_38 >= 'a' && LA8_38 <= 'z')) ) {
                                alt8=11;
                            }
                            else {
                                alt8=8;
                            }
                        }
                        else {
                            alt8=11;
                        }
                    }
                    else {
                        alt8=11;
                    }
                }
                else {
                    alt8=11;
                }
            }
            else {
                alt8=11;
            }
            }
            break;
        case 'e':
            {
            int LA8_8 = input.LA(2);

            if ( (LA8_8=='d') ) {
                int LA8_22 = input.LA(3);

                if ( (LA8_22=='i') ) {
                    int LA8_29 = input.LA(4);

                    if ( (LA8_29=='t') ) {
                        int LA8_34 = input.LA(5);

                        if ( (LA8_34=='o') ) {
                            int LA8_39 = input.LA(6);

                            if ( (LA8_39=='r') ) {
                                int LA8_44 = input.LA(7);

                                if ( (LA8_44=='i') ) {
                                    int LA8_47 = input.LA(8);

                                    if ( (LA8_47=='a') ) {
                                        int LA8_49 = input.LA(9);

                                        if ( (LA8_49=='l') ) {
                                            int LA8_51 = input.LA(10);

                                            if ( ((LA8_51 >= '0' && LA8_51 <= '9')||(LA8_51 >= 'A' && LA8_51 <= 'Z')||LA8_51=='_'||(LA8_51 >= 'a' && LA8_51 <= 'z')) ) {
                                                alt8=11;
                                            }
                                            else {
                                                alt8=9;
                                            }
                                        }
                                        else {
                                            alt8=11;
                                        }
                                    }
                                    else {
                                        alt8=11;
                                    }
                                }
                                else {
                                    alt8=11;
                                }
                            }
                            else {
                                alt8=11;
                            }
                        }
                        else {
                            alt8=11;
                        }
                    }
                    else {
                        alt8=11;
                    }
                }
                else {
                    alt8=11;
                }
            }
            else {
                alt8=11;
            }
            }
            break;
        case '0':
        case '1':
        case '2':
        case '3':
        case '4':
        case '5':
        case '6':
        case '7':
        case '8':
        case '9':
            {
            alt8=10;
            }
            break;
        case 'A':
        case 'B':
        case 'C':
        case 'D':
        case 'E':
        case 'F':
        case 'G':
        case 'H':
        case 'I':
        case 'J':
        case 'K':
        case 'L':
        case 'M':
        case 'N':
        case 'O':
        case 'P':
        case 'Q':
        case 'R':
        case 'S':
        case 'T':
        case 'U':
        case 'V':
        case 'W':
        case 'X':
        case 'Y':
        case 'Z':
        case '_':
        case 'c':
        case 'd':
        case 'f':
        case 'g':
        case 'h':
        case 'i':
        case 'j':
        case 'k':
        case 'm':
        case 'n':
        case 'o':
        case 'p':
        case 'q':
        case 'r':
        case 's':
        case 'u':
        case 'v':
        case 'w':
        case 'x':
        case 'y':
        case 'z':
            {
            alt8=11;
            }
            break;
        case ';':
            {
            alt8=12;
            }
            break;
        case '.':
            {
            alt8=13;
            }
            break;
        case '\"':
            {
            int LA8_13 = input.LA(2);

            if ( ((LA8_13 >= '\u0000' && LA8_13 <= '\uFFFF')) ) {
                alt8=17;
            }
            else {
                alt8=14;
            }
            }
            break;
        case '=':
            {
            alt8=15;
            }
            break;
        default:
            NoViableAltException nvae =
                new NoViableAltException("", 8, 0, input);

            throw nvae;

        }

        switch (alt8) {
            case 1 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:1:10: BLANCO
                {
                mBLANCO(); 


                }
                break;
            case 2 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:1:17: ABRIR_ET
                {
                mABRIR_ET(); 


                }
                break;
            case 3 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:1:26: CERRAR_ET
                {
                mCERRAR_ET(); 


                }
                break;
            case 4 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:1:36: FIN_ET
                {
                mFIN_ET(); 


                }
                break;
            case 5 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:1:43: BIBLIOTECA
                {
                mBIBLIOTECA(); 


                }
                break;
            case 6 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:1:54: LIBRO
                {
                mLIBRO(); 


                }
                break;
            case 7 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:1:60: TITULO
                {
                mTITULO(); 


                }
                break;
            case 8 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:1:67: AUTOR
                {
                mAUTOR(); 


                }
                break;
            case 9 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:1:73: EDITORIAL
                {
                mEDITORIAL(); 


                }
                break;
            case 10 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:1:83: NUMERO
                {
                mNUMERO(); 


                }
                break;
            case 11 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:1:90: PALABRAS
                {
                mPALABRAS(); 


                }
                break;
            case 12 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:1:99: SEPARADOR
                {
                mSEPARADOR(); 


                }
                break;
            case 13 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:1:109: PUNTO
                {
                mPUNTO(); 


                }
                break;
            case 14 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:1:115: COMILLAS
                {
                mCOMILLAS(); 


                }
                break;
            case 15 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:1:124: IGUAL
                {
                mIGUAL(); 


                }
                break;
            case 16 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:1:130: COMENTARIO
                {
                mCOMENTARIO(); 


                }
                break;
            case 17 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexXML.g:1:141: CADENA
                {
                mCADENA(); 


                }
                break;

        }

    }


 

}